1. Field of the Invention
This invention relates generally to mobile data network infrastructure systems to support communication with clients that employ software radio technology. More particularly, the invention relates to client-server systems used to allow a client to establish communication with a federation of wireless access points using initially unknown and variable air interface protocols.
2. Description of the Related Art
Software radio based systems have been developed to address the problem of ever changing sets of protocols. Different classes communication devices tend to use different communication protocols and are therefore inoperable together. Software radio moves the digitization process as close to the antenna as possible. After digitization, digital signal processing techniques (DSP) are used to provide the physical layer interface. In this way, the physical layer of a given air interface may be specified by DSP software. Similarly, the link layers and above can be specified in software. This provides a radio system whose operation can be almost entirely specified in software. Software radio has the additional advantage that a first air interface protocol may be used to download a software module to implement a second air interface protocol. This provides a great potential for inter-system roaming.
Object based technologies have been used to implement software radio concepts. For example, the Java™ API's for Integrated Networks (JAIN™) is a protocol based on the Java™ object oriented programming language and virtual machine from Sun Microsystems Inc. JAIN defines a set of communication protocol application programmer interfaces (API's) that implement various protocols to include call setup, IP telephony, and management functions. The advantage of using a language such as Java is that Java software runs on a virtual machine and is therefore platform independent. This allows a single software module to be downloaded to a variety of mobile devices, for example, using different hardware architectures and processor implementations.
Distributed object technology is also known in the art. Distributed object technology allows object-oriented classes to be defined that include a server-side remote object and a client-side object stub, also called a “proxy.” The server-side remote object implements one or more services and a communication protocol to communicate with the client-side stub. The client-side stub provides the client with an API (“interface” in object-oriented programming terminology) to call functions (i.e., “invoke methods” in object oriented programming terminology). When a method is invoked on the client-side stub, a remote procedure call and a set of parameters are marshaled into a message and sent across a communication channel to the server-side remote object. The server-side remote object then receives the message, unmarshals the parameters, invokes the corresponding method on behalf of the client, marshals a set of results into a message, and sends the message back to the client.
A problem with many existing communication networks is lack of interoperability. First and second wireless networks with or without overlapping coverage areas may use different protocols and be incompatible. Suppose the second network provides a service not provided by the first network, for example a higher speed or lower cost access link. It would be desirable to have an efficient handoff procedure to allow the mobile to transition its protocol stack from the first network to the second network to access the service of the second network.
Prior art mobile networks provide roaming and allow users to be handed off from one type of system to another. For example, a prior art “dual mode cellular phone” supports a first protocol such as IS-136 digital cellular and a second protocol such as AMPS analog cellular. To maintain a broader coverage area, the cell phone is capable of connecting to either type of cellular system. Some cellular systems allow a single call may be carried during by more than one air interface protocol. For example, during a first time interval the call is carried by an IS-136 link and during a second time interval the call is carried by an AMPS link. Over-the-air software downloading of new communication protocol software modules to software radios is known in the art. However, efficient methods are lacking to implement roaming using protocol-software downloads.
Certain types of cellular phones and wireless data devices allow a user to roam between an indoor network (e.g., wireless LAN or picocell network) and an outdoor network (e.g., cellular or PCS wide coverage area network). For example, a user may access the network using enterprise level wireless access points while in a building, but when the user walks outside and gets in his car, the call may be handed off to a cellular network. This allows users to access lower cost (e.g., no usage charge) services while in the vicinity of a home station and to use leased services (e.g., with usage charge) while away from the home station. This is another variant of the concept of a dual mode phone.
While dual-mode phones and wireless data devices are quite useful they have drawbacks. A dual-mode phone can readily be extended to the concept of a “multi-mode phone.” A multi-mode phone or data device implements two or more protocol stacks to communicate with two or more types of networks. The trouble with implementing multi-mode phones is cost and versatility. In prior art phones the two or more supported protocols tend to require duplication of many hardware and software components. The software radio concept can be used to minimize the duplication of hardware resources and has the advantage that software can be dynamically downloaded. This allows the software radio to adapt to a changing environment by downloading new communication software. In current systems, handoffs are typically handled at the link layer. While current handoff techniques can be used to hand a call of from a first protocol to a second protocol (e.g., IS-136 to AMPS), prior art handoff mechanisms are not optimized for situations where the second protocol is unknown to the mobile and therefore requires a software download and a reconfiguration operation in the software radio. Moreover, prior art handoff procedures are generally controlled at the link layer by a network operator. The user has little or no control over handoffs and cannot use a handoff to shop between services to optimize a set of user criteria.
The prior art lacks a network infrastructure to coordinate the use of a loose federation of networks having protocols initially unknown to a roaming mobile. A loose federation of networks is a form of an internetwork that includes a plurality of wireless access points supplied by associates. The wireless access points may involve different protocols and may be owned by individual people, local businesses, or wireless access service providers. A heretofore lacking network infrastructure would be needed to coordinate the federation of wireless access points to allow a mobile client to obtain wireless access from the federation.
As wireless access technologies evolve, there will be an increasing variety of air interface protocols. These air interface protocols will include general purpose access protocols, local area network (LAN) protocols, short range protocols such as Bluetooth and its successors, plus short range broadcast/transponder protocols as are used in intelligent transportation systems (ITS). While it is known that software radio can use a first airlink to download a software definition for a second airlink, improved methods are needed to manage and configure a mobile to efficiently make use of a heterogeneous network comprising a variety of protocols.
It would be desirable to have a system to provide a user with a means to efficiently select and use a plurality of initially unknown protocols in order to optimize a user-specified network performance criterion in a loosely federated network. It would be desirable to be able to use this optimization to control the dynamic loading an initially unknown protocol. It would be desirable to have a set of client-side and server-side systems and methods to allow a mobile device to access different services using different protocols to achieve an end such as faster access speeds, lower cost access, or to access a broader range of services. It would be desirable for a client to have a server act on behalf of the client to select the best access protocol to meet the client's needs. It would be desirable to provide a software architecture that minimizes the amount of software that needs to be downloaded to the mobile to support a new protocol. It would be desirable to have business structures and business methods to allow a federated set of associates to augment a network with additional wireless access points (e.g., picocell level), thereby increasing the system capacity of a wide area mobile network. It would be desirable to have business structures and methods to allow a federated set of associates to supply a set of picocell level wireless access points in order to sell locally available wireless access services to a broad customer base.